// samsting : this file is auto create.

#ifndef ALIYUN_Ecs_DescribeInstanceMonitorDataResponse_H_
#define ALIYUN_Ecs_DescribeInstanceMonitorDataResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ecs {

class DescribeInstanceMonitorDataResponse : public AcsResponse {
public:
  DescribeInstanceMonitorDataResponse();

  class InstanceMonitorData {
    friend class DescribeInstanceMonitorDataResponse;
  public:
    const string& GetInstanceId(void) const;
    int  GetCPU(void) const;
    int  GetIntranetRX(void) const;
    int  GetIntranetTX(void) const;
    int  GetIntranetBandwidth(void) const;
    int  GetInternetRX(void) const;
    int  GetInternetTX(void) const;
    int  GetInternetBandwidth(void) const;
    int  GetIOPSRead(void) const;
    int  GetIOPSWrite(void) const;
    int  GetBPSRead(void) const;
    int  GetBPSWrite(void) const;
    const string& GetTimeStamp(void) const;
  private:
    string InstanceId_;
    int    CPU_;
    int    IntranetRX_;
    int    IntranetTX_;
    int    IntranetBandwidth_;
    int    InternetRX_;
    int    InternetTX_;
    int    InternetBandwidth_;
    int    IOPSRead_;
    int    IOPSWrite_;
    int    BPSRead_;
    int    BPSWrite_;
    string TimeStamp_;
  }; // InstanceMonitorData 

  const std::vector<InstanceMonitorData>& GetMonitorData(void) const;

private:
  std::vector<InstanceMonitorData> MonitorData_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ecs {

#endif // #ifndef ALIYUN_Ecs_DescribeInstanceMonitorDataResponse_H_

// end of file 
